package com.zgl.gemduel.model;

import com.zgl.gemduel.service.RoomResourceNotificationService;
import lombok.Data;

@Data
public class card {
    private String id;
    private int level; // 卡牌等级
    private int score; // 奖励分数
    private int discountRed; // 红色折扣
    private int discountBlue; // 蓝色折扣
    private int discountGreen; // 绿色折扣
    private int discountWhite; // 白色折扣
    private int discountBlack; // 黑色折扣
    private int costRed; // 红色费用
    private int costBlue; // 蓝色费用
    private int costGreen; // 绿色费用
    private int costPink; // 粉色费用
    private int costBlack; // 黑色费用
    private int costWhite; // 白色费用
    private int crownsNum; // 皇冠数量
    private Reward extraReward; // 额外奖励，改为Reward类型
    private boolean show; // 是否显示
    private boolean buyable; // 是否可购买（被保留为true 已被购买为false）
    private boolean keepable; // 是否可保留（可保留为true 被保留后为false 被购买为false）
    // 添加一个便捷方法来处理奖励
    public void processReward(RoomResourceNotificationService notificationService, String roomId, String playerIp) {
        if (this.extraReward != null) {
            this.extraReward.processReward(notificationService, roomId, playerIp);
        }
    }
}